package com.hyjx.framework.service.extend;

import com.hyjx.framework.uc.user.UserModel;

/**
 * 用户管理扩展服务
 */
public interface IUserExtend {
    /**
     * 在增加之前触发
     *
     * @param user
     */
    void beforeAdd(UserModel user);
    
    /**
     * 在增加之后触发
     *
     * @param user
     */
    void afterAdd(UserModel user);
    
    /**
     * 在更新之前触发
     *
     * @param user
     */
    void beforeUpdate(UserModel user);
    
    /**
     * 在更新之后触发
     *
     * @param user
     */
    void afterUpdate(UserModel user);
    
    /**
     * 在删除之前触发
     *
     * @param userId
     */
    void beforeDelete(String userId);
    
    /**
     * 在删除之后触发
     *
     * @param userId
     */
    void afterDelete(String userId);
    
    /**
     * 判断角色是否唯一
     *
     * @param roleId
     * @param roleName
     * @return
     */
    boolean isRoleNameUnique(String roleId, String roleName);
    
    /**
     * 判断用户登录名是否唯一
     *
     * @param userId
     * @param userAccount
     * @return
     */
    boolean isUserAccountUnique(String userId, String userAccount);
}
